const path = require('path');
const TerserPlugin = require('terser-webpack-plugin');
const { library } = require('webpack');

module.exports = {
  entry: './dist/index.js',                    // 入口文件，Webpack 会从这个文件开始打包
  output: {
    filename: 'index.js',                // 输出的压缩后的文件名
    path: path.resolve(__dirname, 'dist'),     // 输出目录
    libraryTarget: "umd",
    globalObject: "window"
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: 'ts-loader',                     // 使用 ts-loader 来编译 TypeScript 文件
        exclude: /node_modules/,
      },
    ],
  },
  resolve: {
    extensions: ['.ts', '.js'],               // 解析 .ts 和 .js 文件
  },
  optimization: {
    minimize: true,                           // 启用压缩
    minimizer: [new TerserPlugin()],          // 使用 TerserPlugin 来压缩代码
  },
  mode: 'production',                         // 设置为生产模式以启用压缩
};